// Made with Blockbench 3.9.3
// Exported for Minecraft version 1.15 - 1.16 with MCP mappings
// Paste this class into your mod and generate all required imports

public static class Modelirongolem extends EntityModel<Entity> {
	private final ModelRenderer body;
	private final ModelRenderer head;
	private final ModelRenderer arm0;
	private final ModelRenderer hand1;
	private final ModelRenderer arm1;
	private final ModelRenderer hand2;
	private final ModelRenderer bb_main;

	public Modelirongolem() {
		textureWidth = 128;
		textureHeight = 128;

		body = new ModelRenderer(this);
		body.setRotationPoint(0.0F, 8.0F, 0.0F);
		body.setTextureOffset(0, 40).addBox(-9.0F, -2.0F, -6.0F, 18.0F, 12.0F, 11.0F, 0.0F, false);
		body.setTextureOffset(0, 70).addBox(-4.5F, 10.0F, -3.0F, 9.0F, 5.0F, 6.0F, 0.5F, false);

		head = new ModelRenderer(this);
		head.setRotationPoint(0.0F, 0.0F, -2.0F);
		body.addChild(head);
		head.setTextureOffset(0, 0).addBox(-4.0F, -12.0F, -5.5F, 8.0F, 10.0F, 8.0F, 0.0F, false);

		arm0 = new ModelRenderer(this);
		arm0.setRotationPoint(0.0F, 0.0F, 0.0F);
		body.addChild(arm0);
		setRotationAngle(arm0, -0.9163F, 0.0F, 0.0F);
		arm0.setTextureOffset(60, 21).addBox(-13.0F, -2.5F, -3.0F, 4.0F, 22.0F, 6.0F, 0.0F, false);

		hand1 = new ModelRenderer(this);
		hand1.setRotationPoint(0.0F, 0.0F, 0.0F);
		arm0.addChild(hand1);
		hand1.setTextureOffset(0, 98).addBox(-16.0F, 19.0F, -5.0F, 9.0F, 1.0F, 9.0F, 0.0F, false);

		arm1 = new ModelRenderer(this);
		arm1.setRotationPoint(0.0F, 0.0F, 0.0F);
		body.addChild(arm1);
		setRotationAngle(arm1, -1.1345F, 0.0F, 0.0F);
		arm1.setTextureOffset(60, 58).addBox(9.0F, -2.5F, -3.0F, 4.0F, 24.0F, 6.0F, 0.0F, false);

		hand2 = new ModelRenderer(this);
		hand2.setRotationPoint(22.0F, 2.0F, 0.0F);
		arm1.addChild(hand2);
		hand2.setTextureOffset(0, 98).addBox(-16.0F, 19.0F, -5.0F, 9.0F, 1.0F, 9.0F, 0.0F, false);

		bb_main = new ModelRenderer(this);
		bb_main.setRotationPoint(0.0F, 24.0F, 0.0F);
		bb_main.setTextureOffset(0, 0).addBox(-13.0F, -1.0F, -12.0F, 27.0F, 1.0F, 25.0F, 0.0F, false);
	}

	@Override
	public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red,
			float green, float blue, float alpha) {
		body.render(matrixStack, buffer, packedLight, packedOverlay);
		bb_main.render(matrixStack, buffer, packedLight, packedOverlay);
	}

	public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
		modelRenderer.rotateAngleX = x;
		modelRenderer.rotateAngleY = y;
		modelRenderer.rotateAngleZ = z;
	}

	public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e) {
		this.head.rotateAngleY = f3 / (180F / (float) Math.PI);
		this.head.rotateAngleX = f4 / (180F / (float) Math.PI);
		this.hand2.rotateAngleY = f2;
		this.hand1.rotateAngleY = f2;
		this.arm1.rotateAngleX = MathHelper.cos(f * 0.6662F) * f1;
		this.arm0.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * f1;
	}
}